{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Generative Modelling with VAEs, GANs and Autoregressive Models\n",
    "\n",
    "From a practical perspective, neural networks have primarily been used for supervised learning, with applications ranging from activity recognition in videos to language translation. However, labelled data is sparse or nonexistent in many situations, so we'd like to make use of unsupervised learning to make sense of the vast amount of unlabelled data in the world. Here we'll look at three types of deep generative models - variational autoencoders (VAEs), generative adversarial networks (GANs), and autoregressive models - that can learn to generate samples from a dataset."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data\n",
    "\n",
    "We'll use the [MNIST](http://yann.lecun.com/exdb/mnist/) dataset, which comprises of 70,000 28x28 grayscale images of handwritten digits. Apart from the underlying classes (0-9), there's a bunch of factors of variation such as line thickness and slant:\n",
    "\n",
    "![MNIST samples](https://qph.fs.quoracdn.net/main-qimg-d01751bdf7dab3d9a5949f226a35b7ba)\n",
    "\n",
    "This dataset is relatively easy to model, so we'll do so with the 60,000 samples from the training set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import math\n",
    "import os\n",
    "from matplotlib import pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "from torch import nn, optim\n",
    "from torch.distributions import Normal\n",
    "from torch.nn import functional as F\n",
    "from torch.utils.data import DataLoader\n",
    "from torchvision import datasets, transforms\n",
    "from torchvision.utils import make_grid\n",
    "from IPython.display import clear_output, display\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "latent_size = 10\n",
    "batch_size = 64\n",
    "\n",
    "data_path = os.path.join(os.path.expanduser('~'), '.torch', 'datasets', 'mnist')\n",
    "train_data = datasets.MNIST(data_path, train=True, download=True, transform=transforms.ToTensor())\n",
    "test_data = datasets.MNIST(data_path, train=False, transform=transforms.ToTensor())\n",
    "\n",
    "train_loader = DataLoader(train_data, batch_size=batch_size, shuffle=True, drop_last=True, num_workers=4)\n",
    "test_loader = DataLoader(test_data, batch_size=batch_size, num_workers=4)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## VAEs\n",
    "\n",
    "### Model\n",
    "\n",
    "The VAE (somewhat misnamed) consists of an autoencoder with a stochastic bottleneck layer, trained via variational inference. The encoder and decoder will make use of convolutions and transposed (also known as fractionally-strided) convolutions, respectively. The latent encoding in the middle of the autoencoder - the variational posterior - will be a simple diagonal covariance Gaussian. In addition, we'll make use of the \"reparameterisation trick\", where the stochastic latents are decomposed into a combination of deterministic variables and another source of noise - so there is no longer a need to devise a gradient estimator for backpropagating through a sampling process. There exist such formulae for several continuous distributions, as well as some for relaxed versions of discrete distributions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "class VAE(nn.Module):\n",
    "    def __init__(self, latent_size):\n",
    "        super().__init__()\n",
    "        self.conv1 = nn.Conv2d(1, 8, 5, stride=2, padding=2, bias=False)\n",
    "        self.bn1 = nn.BatchNorm2d(8)\n",
    "        self.conv2 = nn.Conv2d(8, 16, 3, stride=2, padding=2, bias=False)\n",
    "        self.bn2 = nn.BatchNorm2d(16)\n",
    "        self.conv3 = nn.Conv2d(16, 32, 3, stride=2, padding=1, bias=False)\n",
    "        self.bn3 = nn.BatchNorm2d(32)\n",
    "        self.fc_mu = nn.Linear(32 * 4 * 4, latent_size)\n",
    "        self.fc_log_var = nn.Linear(32 * 4 * 4, latent_size)\n",
    "        self.fc_dec = nn.Linear(latent_size, 32 * 4 * 4)\n",
    "        self.conv4 = nn.ConvTranspose2d(32, 16, 3, stride=2, padding=1, output_padding=1, bias=False)\n",
    "        self.bn4 = nn.BatchNorm2d(16)\n",
    "        self.conv5 = nn.ConvTranspose2d(16, 8, 3, stride=2, padding=2, output_padding=1, bias=False)\n",
    "        self.bn5 = nn.BatchNorm2d(8)\n",
    "        self.conv6 = nn.ConvTranspose2d(8, 1, 5, stride=2, padding=2, output_padding=1)\n",
    "\n",
    "    def encode(self, x):\n",
    "        x = F.relu(self.bn1(self.conv1(x)))\n",
    "        x = F.relu(self.bn2(self.conv2(x)))\n",
    "        x = F.relu(self.bn3(self.conv3(x)))\n",
    "        x = x.view(-1, 32 * 4 * 4)\n",
    "        mu, log_var = self.fc_mu(x), self.fc_log_var(x) \n",
    "        z = mu + log_var.mul(0.5).exp() * torch.randn_like(mu)  # Reparameterisation trick\n",
    "        return z, mu, log_var\n",
    "    \n",
    "    def decode(self, z):\n",
    "        x = self.fc_dec(z)\n",
    "        x = x.view(-1, 32, 4, 4)\n",
    "        x = F.relu(self.bn4(self.conv4(x)))\n",
    "        x = F.relu(self.bn5(self.conv5(x)))\n",
    "        return torch.sigmoid(self.conv6(x))\n",
    "\n",
    "    def forward(self, x):\n",
    "        z, mu, log_var = self.encode(x)\n",
    "        x = self.decode(z)\n",
    "        return x, z, mu, log_var"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Training, Sampling and Interpolating\n",
    "\n",
    "To train the model we will optimise the variational or evidence lower bound (ELBO). The ELBO consists of minimising the reconstruction error of the input sample (as with a normal autoencoder), as well as the Kullback-Leibler (KL) divergence between the variational posterior and the prior - which we set to a unit Gaussian. Because of the form of our prior and posterior we can actually construct an analytical form of the KL divergence to minimise.\n",
    "\n",
    "Once the model is trained we can sample a latent code from our prior and pass this through the decoder to form a sample of the data. Although the posterior may not match the prior, this is an OK assumption to make. Other than picking random samples, we can also pick a dimension of the latent code to interpolate in (keeping all other dimensions fixed), which would reveal what that dimension is coding for. We'll plot random samples on the left and interpolations on the right. Note that while people typically take the mean of the encoded sample for reconstructing test samples during evaluation, the sampling in the latent space should still occur if evaluating the ELBO on the test set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.axis('off')\n",
    "\n",
    "model = VAE(latent_size)\n",
    "optimiser = optim.Adam(model.parameters(), lr=1e-3)\n",
    "epochs = 10\n",
    "z_samples = torch.randn(64, latent_size)\n",
    "z_interp = torch.zeros(64, latent_size)\n",
    "grid_x, grid_y = torch.meshgrid([torch.linspace(-1.5, 1.5, 8), torch.linspace(-1.5, 1.5, 8)])\n",
    "z_interp[:, 0] = grid_y.contiguous().view(-1)\n",
    "z_interp[:, 1] = grid_x.contiguous().view(-1)\n",
    "black_bar = torch.zeros(3, 8 * 28, 10)\n",
    "\n",
    "def train(model, optimiser):\n",
    "    model.train()\n",
    "    for i, (x, _) in enumerate(train_loader):\n",
    "        optimiser.zero_grad()\n",
    "        x_hat, z, mu, log_var = model(x)\n",
    "        recon_loss = F.binary_cross_entropy(x_hat, x, reduction='sum')  # Reconstruction loss\n",
    "        kld = -0.5 * torch.sum(-log_var.exp() - mu ** 2 + log_var + 1)  # KL divergence\n",
    "        (recon_loss + kld).div(batch_size).backward()\n",
    "        optimiser.step()\n",
    "\n",
    "def sample(model):\n",
    "    model.eval()\n",
    "    with torch.no_grad():\n",
    "        samples = make_grid(model.decode(z_samples), padding=0)\n",
    "        interps = make_grid(model.decode(z_interp), padding=0)\n",
    "        plt.imshow(np.transpose(torch.cat([samples, black_bar, interps], 2).numpy(), [1, 2, 0]))\n",
    "        clear_output(wait=True)\n",
    "        display(plt.gcf())\n",
    "\n",
    "for _ in range(epochs):\n",
    "    train(model, optimiser)\n",
    "    sample(model)\n",
    "clear_output(wait=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To see how latent samples from the prior may differ from latent samples from the learned posterior, we can feed the first batch of generated data samples into the network repeatedly. This acts as a form of Markov chain Monte Carlo (MCMC) sampling, making both the latent and data samples more likely under the model. With just a few steps of MCMC sampling, the new data samples are more recognisable as digits, but also less diverse."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.axis('off')\n",
    "\n",
    "model.eval()\n",
    "with torch.no_grad():\n",
    "    orig_samples = model.decode(z_samples)\n",
    "    samples = orig_samples\n",
    "    for _ in range(10):\n",
    "        samples = model(samples)[0]\n",
    "    orig_samples = make_grid(orig_samples, padding=0)\n",
    "    samples = make_grid(samples, padding=0)\n",
    "plt.imshow(np.transpose(torch.cat([orig_samples, black_bar, samples], 2).numpy(), [1, 2, 0]))\n",
    "display(plt.gcf())\n",
    "clear_output(wait=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### IWAE\n",
    "\n",
    "The importance weighted autoencoder (IWAE) uses the same model (network architecture) as the VAE, but proposes a tighter ELBO to maximise. This makes use of several independent samples at once, so reduces to the original VAE ELBO with only one sample, but approaches the true log probability of the data as the number of samples increase. While the original ELBO penalises all samples equally, the importance-weighted objective is primarily influenced by the \"best\" samples, allowing the other samples to spread over the true posterior. The downside is that the signal-to-noise ratio decreases for the inference network (encoder) as the number of samples increases, so in practice the IWAE ELBO is good to measure, but may not be good for training (we'll load in the full minibatch but actually use 4 samples per IWAE loss in order to mitigate this effect somewhat). In addition, the more powerful posterior may lie even further away from the prior, making sampling from the prior even more questionable.\n",
    "\n",
    "We will now need to use a Monte Carlo estimator of the KL divergence in order to perform the importance weighting. However, we can reduce the variance of this estimator by using the *path derivative* estimator - where we do not backpropagate through the parameters of the variational probability distribution, but only the sample itself (which can still be formed via the reparameterisation trick)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.axis('off')\n",
    "\n",
    "model = VAE(latent_size)\n",
    "optimiser = optim.Adam(model.parameters(), lr=1e-3)\n",
    "prior = Normal(torch.zeros(1), torch.ones(1))\n",
    "k = 4\n",
    "\n",
    "def log_mean_exp(x, dim=1):\n",
    "    x_max = x.max(dim=dim, keepdim=True)[0]\n",
    "    return x_max + torch.log(torch.mean(torch.exp(x - x_max), dim=dim, keepdim=True))\n",
    "\n",
    "def train(model, optimiser):\n",
    "    model.train()\n",
    "    for i, (x, _) in enumerate(train_loader):\n",
    "        optimiser.zero_grad()\n",
    "        x_hat, z, mu, log_var = model(x)\n",
    "        recon_loss = F.binary_cross_entropy(x_hat, x, reduction='none').view(-1, 28 ** 2).sum(1)  # Reconstruction loss\n",
    "        kld = (Normal(mu.detach(), log_var.detach().mul(0.5).exp()).log_prob(z) - prior.log_prob(z)).sum(1)  # KL divergence\n",
    "        iwae_samples = (recon_loss + kld).view(batch_size // k, -1)\n",
    "        (-log_mean_exp(-iwae_samples)).mean().backward()  # IWAE loss; VAE loss would be (recon_loss - kld).mean()\n",
    "        optimiser.step()        \n",
    "\n",
    "for _ in range(epochs):\n",
    "    train(model, optimiser)\n",
    "    sample(model)\n",
    "clear_output(wait=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## GANs\n",
    "\n",
    "### Models\n",
    "\n",
    "GANs involve two separate models - a generator and a discriminator - trained via a two-player zero sum game. The generator is an implicit generative model that takes a source of noise as input and produces a data sample. The discriminator takes (real or fake) data samples as input and outputs the probability that they are real samples. We can construct the generator out of transposed convolutions and the discriminator out of regular convolutions; in particular, we'll follow some architectural choices proposed under the name of \"deep convolutional generative adversarial network\" (DCGAN)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Generator(nn.Module):\n",
    "    def __init__(self, latent_size):\n",
    "        super().__init__()\n",
    "        self.latent_size = latent_size\n",
    "        self.conv1 = nn.ConvTranspose2d(latent_size, 32, 4, bias=False)\n",
    "        self.bn1 = nn.BatchNorm2d(32)\n",
    "        self.conv2 = nn.ConvTranspose2d(32, 16, 4, stride=2, padding=2, output_padding=1, bias=False)\n",
    "        self.bn2 = nn.BatchNorm2d(16)\n",
    "        self.conv3 = nn.ConvTranspose2d(16, 8, 4, stride=2, padding=1, bias=False)\n",
    "        self.bn3 = nn.BatchNorm2d(8)\n",
    "        self.conv4 = nn.ConvTranspose2d(8, 1, 4, stride=2, padding=1)\n",
    "\n",
    "    def forward(self, z):\n",
    "        z = z.view(-1, self.latent_size, 1, 1)\n",
    "        x = F.relu(self.bn1(self.conv1(z)))\n",
    "        x = F.relu(self.bn2(self.conv2(x)))\n",
    "        x = F.relu(self.bn3(self.conv3(x)))\n",
    "        return torch.sigmoid(self.conv4(x))\n",
    "\n",
    "\n",
    "class Discriminator(nn.Module):\n",
    "    def __init__(self):\n",
    "        super().__init__()\n",
    "        self.conv1 = nn.Conv2d(1, 8, 4, stride=2, padding=1, bias=False)\n",
    "        self.bn1 = nn.BatchNorm2d(8)\n",
    "        self.conv2 = nn.Conv2d(8, 16, 4, stride=2, padding=1, bias=False)\n",
    "        self.bn2 = nn.BatchNorm2d(16)\n",
    "        self.conv3 = nn.Conv2d(16, 32, 4, stride=2, padding=1, bias=False)\n",
    "        self.bn3 = nn.BatchNorm2d(32)\n",
    "        self.conv4 = nn.Conv2d(32, 64, 4, stride=2, padding=1)\n",
    "\n",
    "    def forward(self, x):\n",
    "        x = F.leaky_relu(self.bn1(self.conv1(x)), 0.2)\n",
    "        x = F.leaky_relu(self.bn2(self.conv2(x)), 0.2)\n",
    "        x = F.leaky_relu(self.bn3(self.conv3(x)), 0.2)\n",
    "        return torch.sigmoid(self.conv4(x)).view(-1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Training, Sampling and Interpolating\n",
    "\n",
    "GANs are trained using a minimax loss - the discriminator is trained to maximise the probability that it makes the correct binary classification (equivalent to density ratio estimation) on data samples, while the generator is trained to minimise this. The first stage of training therefore involves training the discriminator to correctly classify both real and fake samples. The second stage involves training the generator to make the discriminator think its samples are actually real.\n",
    "\n",
    "Ideally, as the discriminator gets better at separating real and fake samples, the generator also becomes better at fooling the discriminator with more convincing samples. The goal is to find a Nash equilibrium, which corresponds to minimising the Jensen-Shannon divergence between the real and generator data distributions. In practice the adversarial game makes training difficult. Much research has focused on alleviating this, primarily through the use of weight or gradient penalties.\n",
    "\n",
    "Because the generator is trained directly on a fixed noise distribution, (if trained properly) we should be able to generate samples without worrying about any mismatches in the latent samples. Interpolation will also work as before."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.axis('off')\n",
    "\n",
    "generator, discriminator = Generator(latent_size), Discriminator()\n",
    "gen_optimiser = optim.Adam(generator.parameters(), lr=1e-3, betas=(0.5, 0.999))\n",
    "disc_optimiser = optim.Adam(discriminator.parameters(), lr=1e-3, betas=(0.5, 0.999))\n",
    "\n",
    "def train(generator, discriminator, gen_optimiser, disc_optimiser):\n",
    "    for i, (real_x, _) in enumerate(train_loader):\n",
    "        disc_optimiser.zero_grad()\n",
    "        # Train discriminator to identify real data\n",
    "        real_y = discriminator(real_x)\n",
    "        real_loss = F.binary_cross_entropy(real_y, torch.ones_like(real_y))\n",
    "        real_loss.backward()\n",
    "        # Train discriminator to identify fake data\n",
    "        noise = torch.randn(batch_size, latent_size)\n",
    "        fake_x = generator(noise)\n",
    "        fake_y = discriminator(fake_x.detach())\n",
    "        fake_loss = F.binary_cross_entropy(fake_y, torch.zeros_like(fake_y))       \n",
    "        fake_loss.backward()\n",
    "        disc_optimiser.step()\n",
    "\n",
    "        gen_optimiser.zero_grad()\n",
    "        # Train generator to fool discriminator on fake data\n",
    "        fake_y = discriminator(fake_x)\n",
    "        fake_loss = F.binary_cross_entropy(fake_y, torch.ones_like(fake_y))       \n",
    "        fake_loss.backward()\n",
    "        gen_optimiser.step()        \n",
    "\n",
    "\n",
    "def sample(generator):\n",
    "    generator.eval()\n",
    "    with torch.no_grad():\n",
    "        samples = make_grid(generator(z_samples), padding=0)\n",
    "        interps = make_grid(generator(z_interp), padding=0)\n",
    "        plt.imshow(np.transpose(torch.cat([samples, black_bar, interps], 2).numpy(), [1, 2, 0]))\n",
    "        clear_output(wait=True)\n",
    "        display(plt.gcf())\n",
    "        \n",
    "\n",
    "for _ in range(epochs):\n",
    "    train(generator, discriminator, gen_optimiser, disc_optimiser)\n",
    "    sample(generator)\n",
    "clear_output(wait=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Compare the GAN samples to the VAE samples. Although it isn't a completely fair comparison, VAE samples tend to be more globally coherent, but blurrier. This is because the typical VAE reconstruction loss optimises each pixel independently, leading towards values that kind of work well on average (consider modelling a multimodal distribution with a unimodal distribution). On the other hand, the discriminator is after samples that look like they've come from the real distribution, leading towards finer textures or object boundaries in images."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Autoregressive Models\n",
    "\n",
    "Autoregressive models model data using the chain rule for the the joint distribution $p(\\mathbf{x}) = \\prod_1^n p(x_i|x_{<i})$, which means that every point is dependent on previous ones; these models deal with sequences without a recurrent hidden state, unlike RNNs. Although imposing an ordering on the data distribution, such as the pixels of an image, may seem unnatural, it is perfectly valid, and certainly more powerful than predicting each point independently. This is a powerful technique that allows generative modelling without requiring latent variables (though they can also be used in combination with latent variables), and can consequently be trained exactly on maximum likelihood estimation. The downside is that generating an entire sample happens in this sequential order, which can be slow if the dimensionality of the data is large. Finding ways of capturing the power of autoregressive models while improving sampling, such as using multiscale approaches, is an ongoing area of research.\n",
    "\n",
    "### Model\n",
    "\n",
    "There are many autoregressive models that can model image data, and we'll look at a relatively simple one known as the PixelCNN. The PixelCNN is a fully convolutional model that uses *causal convolutions* in order to enforce the dependencies in the data. This is achieved by masking the activations within the network, with \"future\" locations (think of a TV raster scan) always being zeroed out. The initial convolutional layer uses mask type \"A\", which prevents activations at a location from looking at the values of the activations directly below it - this prevents the first layer from learning a trivial identity function which copies the training images. Other layers use mask type \"B\", which can see the activations directly below. Otherwise, the original PixelCNN architecture is a standard fully-convolutional neural network. Another modification that isn't strictly restricted to autoregressive models is the choice to model pixels via a categorical distribution - the pixel values are binned into discrete values. This allows the PixelCNN to better model multimodal distributions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Creates causal convolutions: Type A does not take middle pixel below as input, type B does\n",
    "class MaskedConv2d(nn.Conv2d):\n",
    "    def __init__(self, mask_type, *args, **kwargs):\n",
    "        super().__init__(*args, **kwargs)\n",
    "        # Create causal convolution mask (type A or B)\n",
    "        self.register_buffer('mask', torch.ones(self.weight.data.size()))\n",
    "        y, x = self.mask.size(2) // 2, self.mask.size(3) // 2\n",
    "        self.mask[:, :, y + 1:, :].zero_()\n",
    "        self.mask[:, :, y:, (mask_type == 'A' and x or x + 1):].zero_()\n",
    "\n",
    "    def forward(self, x):\n",
    "        # Apply mask at each forward pass\n",
    "        self.weight.data *= self.mask\n",
    "        return super().forward(x)\n",
    "\n",
    "class ResBlock(nn.Module):\n",
    "    def __init__(self, hidden_size):\n",
    "        super().__init__()\n",
    "        self.conv1 = nn.Conv2d(2 * hidden_size, hidden_size, 1, bias=False)\n",
    "        self.bn1 = nn.BatchNorm2d(hidden_size)\n",
    "        self.conv2 = MaskedConv2d('B', hidden_size, hidden_size, 5, padding=2, bias=False)\n",
    "        self.bn2 = nn.BatchNorm2d(hidden_size)\n",
    "        self.conv3 = nn.Conv2d(hidden_size, 2 * hidden_size, 1, bias=False)\n",
    "        self.bn3 = nn.BatchNorm2d(2 * hidden_size)\n",
    "\n",
    "    def forward(self, x):\n",
    "        r = self.bn1(self.conv1(F.relu(x)))\n",
    "        r = self.bn2(self.conv2(F.relu(r)))\n",
    "        r = self.bn3(self.conv3(F.relu(r)))\n",
    "        x = r + x\n",
    "        return x\n",
    "\n",
    "class PixelCNN(nn.Module):\n",
    "    def __init__(self, hidden_size, res_blocks, discrete_levels):\n",
    "        super().__init__()\n",
    "        self.res_blocks = res_blocks\n",
    "        # All operations are space-preserving\n",
    "        self.in_conv = MaskedConv2d('A', 1, 2 * hidden_size, 7, padding=3, bias=False)\n",
    "        self.in_bn = nn.BatchNorm2d(2 * hidden_size)\n",
    "        for r in range(1, res_blocks + 1):\n",
    "            # Use add_module method to register parameters correctly\n",
    "            self.add_module('res' + str(r), ResBlock(hidden_size))\n",
    "        self.out_conv1 = MaskedConv2d('B', 2 * hidden_size, hidden_size, 3, padding=1, bias=False)\n",
    "        self.out_bn1 = nn.BatchNorm2d(hidden_size)\n",
    "        self.out_conv2 = nn.Conv2d(hidden_size, discrete_levels, 1)\n",
    "\n",
    "    def forward(self, x):\n",
    "        x = self.in_bn(self.in_conv(x))\n",
    "        for r in range(1, self.res_blocks + 1):\n",
    "            x = getattr(self, 'res' + str(r))(x)\n",
    "        x = self.out_bn1(self.out_conv1(F.relu(x)))\n",
    "        x = self.out_conv2(F.relu(x))\n",
    "        return x"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Training and Sampling\n",
    "\n",
    "Because of the feedforward nature of the PixelCNN, training (or even log-likelihood evaluation) can happen efficiently in parallel - only a single pass of the network is needed to get the outputs based on the training data. Sampling however is a sequential process that requires sampling one pixel at a time, adding this to the input image, and repeating until the whole image is generated. The benefit of course is that the network is better able to capture local spatial dependencies.\n",
    "\n",
    "The other decision is how to discretise the data. While there is already a discretisation into 255 different pixel values, for simplicity and speed we will use 8 different values.\n",
    "\n",
    "We'll need to use GPU acceleration, as networks for autoregressive models are generally quite big to get them to work well."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.axis('off')\n",
    "\n",
    "discrete_levels = 8  # Max 256 (long precision)\n",
    "model = PixelCNN(32, 7, discrete_levels).cuda()\n",
    "optimiser = optim.Adam(model.parameters(), lr=1e-3)\n",
    "\n",
    "def train(model, optimiser):\n",
    "    model.train()\n",
    "    for i, (x, _) in enumerate(train_loader):\n",
    "        optimiser.zero_grad()\n",
    "        discrete_x = x.clone().squeeze(1).mul_(discrete_levels - 1).round_().long()\n",
    "        x_hat = model(x.cuda())\n",
    "        loss = F.cross_entropy(x_hat, discrete_x.cuda())\n",
    "        loss.backward()\n",
    "        optimiser.step()\n",
    "\n",
    "def sample(model):\n",
    "    model.eval()\n",
    "    with torch.no_grad():\n",
    "        # Sample each pixel autoregressively (can start from an arbitrary input image)\n",
    "        samples = torch.zeros(64, 1, 28, 28).cuda()\n",
    "        for i in range(28):\n",
    "            for j in range(28):\n",
    "                out = model(samples)\n",
    "                probs = F.softmax(out[:, :, i, j], dim=1)\n",
    "                samples[:, :, i, j] = torch.multinomial(probs, 1).float() / (discrete_levels - 1)\n",
    "        samples = make_grid(samples, padding=0)\n",
    "        plt.imshow(np.transpose(samples.cpu().numpy(), [1, 2, 0]))\n",
    "        clear_output(wait=True)\n",
    "        display(plt.gcf())\n",
    "\n",
    "for i in range(epochs):\n",
    "    train(model, optimiser)\n",
    "    sample(model)\n",
    "clear_output(wait=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "After a bit of training, the PixelCNN samples can also be seen to have a different qualitative feel to them. The local structure is captured well, and the samples tend to look like strokes that would make up digits. On the other hand, larger scale structures are not always captured."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
